/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package app.normas;

import app.agentes.Agente;
import app.agentes.Candidato;
import app.modelo.Propaganda;

/**
 *
 * @author Bruno V. G. Alves
 */
public class NormaTipoPropaganda extends Norma{

    public NormaTipoPropaganda(double poderNorma){
        super(poderNorma);
    }
    
    @Override
    public boolean ehAplicadaADenunciado(Agente agente){
        return agente instanceof Candidato;
    }
       
    
     public double obterPoderNorma(Propaganda.TIPO_PROPAGANDA tipo){
   
        switch (tipo) {
            case OUTDOOR:
            {
                return obterPoderNorma() * 2.0;
            }
            case SHOWMICIO:
            {
                return obterPoderNorma() * 1.5;
            }
            case BRINDES:
            {
                return obterPoderNorma() * 1.0;
            }

            default:
                return 0.0;
        }
    }
    
    private boolean ehPropagandaProibida(Propaganda.TIPO_PROPAGANDA tipo) {
        switch (tipo) {
            case OUTDOOR:
            case SHOWMICIO:
            case BRINDES:
            {
                return true;
            }
            
            case PANFLETO:
            case COMICIO:
            {
                return false;
            }
            
            default:
                return true;
        }
    }
}
